Linux学习笔记

201次阅读
没有评论

共计 3452 个字符,预计需要花费 9 分钟才能阅读完成。

终端

终端是主机的一个远程输入 / 输出设备。在早期计算机主机昂贵,一个主机一般会配置多个终端,这些终端本身不具备计算能力,仅仅承担信息输入输出的工作,运算和处理均由主机来完成。个人计算机可以运行称为终端仿真程序来模仿一个终端的工作。

通常在使用 Linux 时,并不是直接与系统打交道,而是通过一个叫做 Shell 的中间程序来完成,在图形界面下为了实现在一个窗口中完成用户输入和显示输出,Linux 系统还提供了一个叫做终端模拟器的程序(Terminal)。

终端本质上对应着 Linux 上的 /dev/tty 设备,Linux 多用户登录就是通过不同的 /dev/tty 设备完成的,Linux 默认提供了 6 个纯命令行界面的“terminal”(准确的说应该是 6 个 virtual consoles)来让用户登录。

在物理机系统上可以通过使用 [Ctrl]+[Alt]+[F1]~[F6] 进行切换。当切换到其中一个终端后想要切换回图形界面,可以按下 [Ctrl]+[Alt]+[F7] 来完成。

Shell

Shell 和桌面一样是计算机接收用户指令的一种环境,其内置了一系列命令,如 cd、mkdir 等,用户通过这些指令能操作计算机执行指定的操作。

不同的操作系统具有不同的 Shell,不同 Shell 在终端的提示也不完全相同:

Shell 缩写 完整路径 root 用户提示符 非 root 用户
Bourne shell sh /bin/sh # $
C shell csh /bin/csh # %
Korn shell ksh /bin/ksh # $
Bourne-Again shell bash /bin/bash [user@hostname path] # [user@hostname path] $
Z shell zsh /bin/zsh <hostname># <hostname>%

设置 Shell

执行 which $SHELL 查看系统当前 Shell,执行 cat /etc/shells 列出当前系统所有可用的 Shell,执行 chsh -s /bin/bash 修改默认 Shell 为 Bash。

Bash

Bash 是大多数 Linux 发行版的默认 Shell。Shell 命令除了直接在终端输入外,还可以写在 Shell 脚本文件中,文件后缀名为.sh。对于 Bash 而言,在文件第一行添加 #!/bin/bash 告知终端使用 Bash 执行这个脚本文件。

执行 /bin/bash --version 查看当前 Bash 版本。

若当前 Shell 不是 Bash,输入 bash 进入 Bash 环境。输入 exit 命令或按 Ctrl + d 退出 Bash 环境。

Bash 基础语法

注释

单行注释是一行文本,以井号(#)开头,从该字符开始一直延伸到该行结束。在此行内,任何内容都会被 Shell 解释器忽略。

Shell 脚本也支持多行注释,也称块注释。在 Bash Shell 中,块注释通常使用以下语法:

: '
这是多注释
这是多注释
这是多注释
这是多注释
'

Bash 中的单引号和双引号都可用来表示字符串,不过单引号会保留字符串的字面意思,如单引号中 $`不会进行计算,\也不会转义。

a=1
echo '$a'        # 输出:$a
echo "$a"        # 输出:1

echo '`date`'    # 输出:`date`
echo "`date`"    # 输出:2023 年 09 月 08 日 星期五 15:06:03 CST

双引号的另一个用处是保证命令按原始格式输出:

echo "`ls -l`"

反斜杠 \ 在 Bash 中用法如下:

  1. 表示转义字符,用来保留下一个字符的字面值
  2. 位于一行末尾且其后没有引号时,表示这一行还没结束

常用基本命令

Shell 可以看做是一个命令解释器,提供了交互式的文本控制台界面,通过终端控制台输入命令,由 Shell 进行解释并最终交给内核执行。

一些基础功能的系统命令是直接内嵌在 Shell 中的,系统加载启动之后会随着 Shell 一起加载,常驻系统内存中。这些命令被称为“内置(built-in)命令”;相应的其他命令被称为“外部命令”。

判断是否内置命令:type 命令

help命令获得 Shell 内置命令的帮助信息,外部命令帮助信息可用:命令 --help

命令通用格式:command [-options] [parameter]

常用快捷键 功能
ctrl + c 强制停止
ctrl + d 退出或登出
ctrl + l 清屏,等同于 clear,彻底清屏是:reset
tab 提示(更重要的是可以防止敲错)
上下键 查找执行过的命令
ctrl + a 跳到命令开头,ctrl + e:跳到命令结尾
ctrl + 左键头 向左跳一个单词,ctrl + 右键头:向右跳一个单词

文件目录类

cd 回到家目录
cd – 回到上一次所在目录
cd .. 回到当前目录的上一级目录
cd -P a/ 如果目标目录是软链接,则直接切换到软链接指向的实际目录

创建多级目录:mkdir -p a/b/c

删除多级目录:rmdir -p a/b/c

删除非空目录:rm -rf 目录名

重命名目录:mv old_dir_name new_dir_name

# 复制目录
cp -r a/ b/
# 有些命令可能是别名,在命令前加反斜杠 \ 使用原生命令
\cp -r a/ b/
# 查看别名
alias

# 删库跑路,千万不要使用
rm -rf /*

echo 命令

输出内容到控制台。-e:支持反斜线控制的字符转换。

$ echo 'abc\n123'
abc\n123
$ echo -e 'abc\n123'
abc
123
# 输出某个变量值内容
$ echo $USER
root

tail 命令

输出文件尾部。
tail -f 文件:持续显示文件最新追加的内容,按 Ctrl + s 暂停监听,按 Ctrl + q 继续监听。

history 命令

查看历史命令:history

快捷键:ctrl + r,输入内容去匹配历史命令(reverse-i-search)`py’: python。如果搜索到的内容是需要的,按回车键直接执行;键盘左右键,可以得到此命令(不执行)。

清空历史命令:history -c

时间日期类

$ date "+%Y-%m-%d %H:%M:%S"
2023-09-15 12:48:49
# 查看时间戳
$ date +%s
1694753377
# 设置系统当前时间
$ date -s "2123-09-15 12:48:49"
# 同步时间
$ ntpdate

用户权限类

who 命令

# 显示当前所有登录的用户信息
who
# 查看当前用户,实际用户(登陆系统时所使用的用户)who am i
# 查看当前用户,有效用户(当前执行操作的用户)whoami

搜索查找类

which 命令

查找命令所在位置。

# which cd
/usr/bin/cd
# whereis cd
cd: /usr/bin/cd /usr/share/man/man1/cd.1.gz /usr/share/man/mann/cd.n.gz

磁盘管理类

磁盘分区

首先添加一个硬盘,使用命令 fdisk -l 查看,发现没有找到新加的硬盘,使用命令 lsblk 查看,也是没有找到新加的硬盘,这时需要重启:reboot。重启完,使用命令 lsblk 查看,发现多了一块硬盘,假如硬盘为 /dev/sdb。

接下来对硬盘进行分区:fdisk /dev/sdb,输入 n 开始分区,输入 p 选择主分区,一直回车即可。输入命令 p 显示当前磁盘分区,接着输入 w 写入分区信息并退出。

接下来需要对硬盘进行格式化文件系统操作:mkfs -t xfs /dev/sdb1,查看信息:lsblk -f

最后,将硬盘挂载到指定目录:mount /dev/sdb1 /home/test/。想卸载的话:unmount /home/test/

yum 命令

CentOS 使用 yum 管理器,用于自动化安装配置 Linux 软件,并可以自动解决依赖问题。

语法:yum [-y] [install | remove | search] 软件名称

选项:-y,自动确认,无需手动确认安装或卸载过程。install:安装,remove:卸载,search:搜索。

yum 命令需要 root 权限,可以 su 切换到 root,或使用 sudo 提权。

apt 命令

Ubuntu 使用 apt 管理器。语法:apt [-y] [install | remove | search] 软件名称

压缩解压缩

tar 命令用于压缩和解压缩,命令选项如下:
-c:创建打包文件
-v:显示打包或解包详细信息
-f:指定文件名称,必须放到所有选项后面
-z:压缩(.gz)
-j:压缩(.bz2),压缩率更高
-x:解压缩
-C:解压到指定目录

压缩:tar -zcvf 1.tar.gz *.txttar -jcvf 1.bz2 *.txt

解压缩:tar -zxvf 1.tar.gztar -jxvf 1.bz2,指定目录tar -zxvf 1.tar.gz -C ./abc

正文完
 0
阿伯手记
版权声明:本站原创文章,由 阿伯手记 于2023-09-08发表,共计3452字。
转载说明:本站原创内容,除特殊说明外,均基于 CC BY-NC-SA 4.0 协议发布,转载须注明出处与链接。
评论(没有评论)
验证码

阿伯手记

阿伯手记
阿伯手记
喜欢编程,头发渐稀;成长路上,宝藏满地
文章数
766
评论数
204
阅读量
449512
今日一言
-「
热门文章
职场救急!AI请假话术生成器:1秒定制高通过率理由

职场救急!AI请假话术生成器:1秒定制高通过率理由

超级借口 不好开口?借口交给我!智能生成工作请假、上学请假、饭局爽约、约会拒绝、邀约推辞、万能借口等各种借口理...
夸克网盘快传助手提高非VIP下载速度

夸克网盘快传助手提高非VIP下载速度

夸克网盘限速这个大家都知道,不开会员差不多限速在几百 K。那有没有办法在合法合规途径加速下载夸克网盘呢?这里推...
国内已部署DeepSeek模型第三方列表 免费满血版联网搜索

国内已部署DeepSeek模型第三方列表 免费满血版联网搜索

本文收集了目前国内已部署 DeepSeek 模型的第三方列表,个个都是免费不限次数的满血版 DeepSeek,...
巴别英语:用美剧和TED演讲轻松提升英语听力与口语

巴别英语:用美剧和TED演讲轻松提升英语听力与口语

还在为枯燥的英语学习而烦恼吗?巴别英语通过创新的美剧学习模式,让英语学习变得生动有趣。平台提供海量美剧和 TE...
Chinese Name Generator 在线中文姓名生成器

Chinese Name Generator 在线中文姓名生成器

Chinese Name Generator 是一款在线中文姓名生成器,可在几秒内生成符合个人需求的中文名字。...
TVAPP:开源电视盒子资源库,一键打造家庭影院

TVAPP:开源电视盒子资源库,一键打造家庭影院

导语 TVAPP 是一个专为 Android TV 电视盒子用户打造的开源影音资源库,集成了影视、直播、游戏等...
2025年12月 每日精选

2025年12月 每日精选

关于每日精选栏目 发现一些不错的资源,点击 这里 快速投稿。 12 月 26 日 .ax 顶级域 目前全球唯一...
最新评论
15220202929 15220202929 怎么用
八对 八对 麻烦大佬更新下【堆新】的友链站名:八对星星描述:极目星视穹苍无界•足履行者大地有疆链接:https://8dui.com图标:https://cf.8dui.com/logo.webp横标:https://cf.8dui.com/logo-w.webp订阅:https://8dui.com/rss.xml
三毛笔记 三毛笔记 已添加
DUINEW DUINEW 已添加贵站,期待贵站友链~博客名称:堆新博客地址:https://duinew.com/博客描述:堆新堆新,引力向新!——堆新(DUINEW)博客头像:https://d.duinew.com/logo.webp横版头像:https://d.duinew.com/logo-w.webp博客订阅:https://duinew.com/rss.xml
hedp hedp 没看懂
bingo bingo 直接生成就可以啦,也可以添加一些选项
满心 满心 申请更新下友联信息,原名:满心记,现名:周天记原域名:qq.mba,现域名:zhoutian.com描述:我在人间混日子
开业吉日 开业吉日 没看明白这个怎么用
开业吉日 开业吉日 beddystories 这个网站太赞了,收藏
热评文章
夸克网盘快传助手提高非VIP下载速度

夸克网盘快传助手提高非VIP下载速度

夸克网盘限速这个大家都知道,不开会员差不多限速在几百 K。那有没有办法在合法合规途径加速下载夸克网盘呢?这里推...
清华大学官方免费DeepSeek教程

清华大学官方免费DeepSeek教程

AI 领域近期最引人注目的焦点当属 DeepSeek,这款由中国创新企业深度求索研发的人工智能工具,正以开放源...
Short-Link 免费开源短网址程序,基于Fastify、Vercel和Supabase构建

Short-Link 免费开源短网址程序,基于Fastify、Vercel和Supabase构建

Short-Link 是一款基于 Fastify、Vercel 和 Supabase 构建的 URL 缩短服务...
国内已部署DeepSeek模型第三方列表 免费满血版联网搜索

国内已部署DeepSeek模型第三方列表 免费满血版联网搜索

本文收集了目前国内已部署 DeepSeek 模型的第三方列表,个个都是免费不限次数的满血版 DeepSeek,...
Chinese Name Generator 在线中文姓名生成器

Chinese Name Generator 在线中文姓名生成器

Chinese Name Generator 是一款在线中文姓名生成器,可在几秒内生成符合个人需求的中文名字。...
BeddyStories 完全免费儿童睡前故事库,让孩子随时随地入睡更轻松

BeddyStories 完全免费儿童睡前故事库,让孩子随时随地入睡更轻松

BeddyStories 是一个致力于为儿童提供优质睡前故事的在线平台,用户可以在这里找到来自世界各地的经典故...
DrawLink:一键生成链接视觉卡片,提升分享点击率

DrawLink:一键生成链接视觉卡片,提升分享点击率

小贴士 :此站或已变迁,但探索不止步。我们已为您备好「类似网站」精选合集,相信其中的发现同样能为您带来惊喜。